home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C & C++ Multimedia Cyber Classroom
/
C and C++ Multimedia Cyber Classroom (Prentice Hall) (1998).iso
/
src
/
fig16_07.jar
/
Ch16
/
Fig16_07
/
Fig16_07.cpp
Wrap
C/C++ Source or Header
|
1997-11-10
|
1KB
|
61 lines
// Fig. 16.7: fig16_07.cpp
// Using the bitwise AND, bitwise inclusive OR, bitwise
// exclusive OR, and bitwise complement operators.
#include <iostream.h>
#include <iomanip.h>
void displayBits( unsigned );
int main()
{
unsigned number1, number2, mask, setBits;
number1 = 65535;
mask = 1;
cout << "The result of combining the following\n";
displayBits( number1 );
displayBits( mask );
cout << "using the bitwise AND operator & is\n";
displayBits( number1 & mask );
number1 = 15;
setBits = 241;
cout << "\nThe result of combining the following\n";
displayBits( number1 );
displayBits( setBits );
cout << "using the bitwise inclusive OR operator | is\n";
displayBits( number1 | setBits );
number1 = 139;
number2 = 199;
cout << "\nThe result of combining the following\n";
displayBits( number1 );
displayBits( number2 );
cout << "using the bitwise exclusive OR operator ^ is\n";
displayBits( number1 ^ number2 );
number1 = 21845;
cout << "\nThe one's complement of\n";
displayBits( number1 );
cout << "is" << endl;
displayBits( ~number1 );
return 0;
}
void displayBits( unsigned value )
{
unsigned c, displayMask = 1 << 15;
cout << setw( 7 ) << value << " = ";
for ( c = 1; c <= 16; c++ ) {
cout << ( value & displayMask ? '1' : '0' );
value <<= 1;
if ( c % 8 == 0 )
cout << ' ';
}
cout << endl;
}